package com.darthsith.droidathome.core.service;

import java.util.ArrayList;

import com.darthsith.droidathome.core.model.ArduinoBoard;
import com.darthsith.droidathome.core.model.Sensor;

/**
 * This service register the Arduino Board status
 * 
 * @author andrea
 *
 */
public interface ArduinoService {

	/**
	 * Get the arduino board status by id.
	 * The id can be the ip address or macAddress
	 * 
	 * @param id
	 * @return
	 */
	ArduinoBoard getArduinoBoardStatus(String id);
	
	
	/**
	 * Get the whole system status.
	 * @return
	 */
	ArrayList<ArduinoBoard> getSystemStatus();
	
	/**
	 * Get the Sensor information
	 * @param id
	 * @param pin
	 * @return
	 */
	Sensor getSensor(String id, int pin);
	
	/**
	 * Update Sensor status
	 * @param sensor
	 */
	void updateSensor(Sensor sensor);
}
